// 本地存储用户信息
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';

Future<bool> saveUserInfo(Map userInfo) async {
  // 获取SharePreferences实例
  SharedPreferences prefs = await SharedPreferences.getInstance();
  // 将用户数据字典转成JSON字符串
  String userInfoJson = json.encode(userInfo);
  // 缓存用户信息
  bool storeSuccescc = await prefs.setString('userInfo', userInfoJson);
  return storeSuccescc;
}

// 获取本地用户信息
Future<Map?> getUserInfo() async {
  // 获取SharePreferences实例
  SharedPreferences prefs = await SharedPreferences.getInstance();
  // 获取用户信息
  String? userInfoJson = prefs.getString('userInfo');
  if (userInfoJson != null) {
    // 将JSON字符串转成用户数据字典
    Map userInfo = json.decode(userInfoJson);
    return userInfo;
  }
  return null;
}

//  回到首页的事件
// EventBus使用 步骤1: 定义事件类
class GoToHomeEvent {
  // 如果时间穿在传递时, 需要携带数据,数据可以做到构造函数
  GoToHomeEvent();
}

// 获取购物车数据Token异常事件
class GetCartTokenError {
  GetCartTokenError();
}

// 登录成功事件
class LoginSuccessEvent {
  LoginSuccessEvent();
}
